﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x02000F93 RID: 3987
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class RogueMagicUnitSelectResult : IMessage<RogueMagicUnitSelectResult>, IMessage, IEquatable<RogueMagicUnitSelectResult>, IDeepCloneable<RogueMagicUnitSelectResult>, IBufferMessage
	{
		// Token: 0x17003283 RID: 12931
		// (get) Token: 0x0600B293 RID: 45715 RVA: 0x001E23C9 File Offset: 0x001E05C9
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<RogueMagicUnitSelectResult> Parser
		{
			get
			{
				return RogueMagicUnitSelectResult._parser;
			}
		}

		// Token: 0x17003284 RID: 12932
		// (get) Token: 0x0600B294 RID: 45716 RVA: 0x001E23D0 File Offset: 0x001E05D0
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return RogueMagicUnitSelectResultReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x17003285 RID: 12933
		// (get) Token: 0x0600B295 RID: 45717 RVA: 0x001E23E2 File Offset: 0x001E05E2
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return RogueMagicUnitSelectResult.Descriptor;
			}
		}

		// Token: 0x0600B296 RID: 45718 RVA: 0x001E23E9 File Offset: 0x001E05E9
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueMagicUnitSelectResult()
		{
		}

		// Token: 0x0600B297 RID: 45719 RVA: 0x001E23F1 File Offset: 0x001E05F1
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueMagicUnitSelectResult(RogueMagicUnitSelectResult other) : this()
		{
			this.selectMagicUnit_ = ((other.selectMagicUnit_ != null) ? other.selectMagicUnit_.Clone() : null);
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x0600B298 RID: 45720 RVA: 0x001E2426 File Offset: 0x001E0626
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueMagicUnitSelectResult Clone()
		{
			return new RogueMagicUnitSelectResult(this);
		}

		// Token: 0x17003286 RID: 12934
		// (get) Token: 0x0600B299 RID: 45721 RVA: 0x001E242E File Offset: 0x001E062E
		// (set) Token: 0x0600B29A RID: 45722 RVA: 0x001E2436 File Offset: 0x001E0636
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueMagicGameUnit SelectMagicUnit
		{
			get
			{
				return this.selectMagicUnit_;
			}
			set
			{
				this.selectMagicUnit_ = value;
			}
		}

		// Token: 0x0600B29B RID: 45723 RVA: 0x001E243F File Offset: 0x001E063F
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as RogueMagicUnitSelectResult);
		}

		// Token: 0x0600B29C RID: 45724 RVA: 0x001E244D File Offset: 0x001E064D
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(RogueMagicUnitSelectResult other)
		{
			return other != null && (other == this || (object.Equals(this.SelectMagicUnit, other.SelectMagicUnit) && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x0600B29D RID: 45725 RVA: 0x001E2480 File Offset: 0x001E0680
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			if (this.selectMagicUnit_ != null)
			{
				num ^= this.SelectMagicUnit.GetHashCode();
			}
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x0600B29E RID: 45726 RVA: 0x001E24BC File Offset: 0x001E06BC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x0600B29F RID: 45727 RVA: 0x001E24C4 File Offset: 0x001E06C4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x0600B2A0 RID: 45728 RVA: 0x001E24CD File Offset: 0x001E06CD
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.selectMagicUnit_ != null)
			{
				output.WriteRawTag(90);
				output.WriteMessage(this.SelectMagicUnit);
			}
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x0600B2A1 RID: 45729 RVA: 0x001E2500 File Offset: 0x001E0700
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			if (this.selectMagicUnit_ != null)
			{
				num += 1 + CodedOutputStream.ComputeMessageSize(this.SelectMagicUnit);
			}
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x0600B2A2 RID: 45730 RVA: 0x001E2540 File Offset: 0x001E0740
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(RogueMagicUnitSelectResult other)
		{
			if (other == null)
			{
				return;
			}
			if (other.selectMagicUnit_ != null)
			{
				if (this.selectMagicUnit_ == null)
				{
					this.SelectMagicUnit = new RogueMagicGameUnit();
				}
				this.SelectMagicUnit.MergeFrom(other.SelectMagicUnit);
			}
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x0600B2A3 RID: 45731 RVA: 0x001E2594 File Offset: 0x001E0794
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x0600B2A4 RID: 45732 RVA: 0x001E25A0 File Offset: 0x001E07A0
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num != 90U)
				{
					this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
				}
				else
				{
					if (this.selectMagicUnit_ == null)
					{
						this.SelectMagicUnit = new RogueMagicGameUnit();
					}
					input.ReadMessage(this.SelectMagicUnit);
				}
			}
		}

		// Token: 0x04004832 RID: 18482
		private static readonly MessageParser<RogueMagicUnitSelectResult> _parser = new MessageParser<RogueMagicUnitSelectResult>(() => new RogueMagicUnitSelectResult());

		// Token: 0x04004833 RID: 18483
		private UnknownFieldSet _unknownFields;

		// Token: 0x04004834 RID: 18484
		public const int SelectMagicUnitFieldNumber = 11;

		// Token: 0x04004835 RID: 18485
		private RogueMagicGameUnit selectMagicUnit_;
	}
}
